1. Field of the Invention
The invention is related to computer systems and networked computer systems.
2. Background Art
Maintaining multiple counters is a prerequisite in computer systems. For example, networked computer systems may have hundreds of thousands of counters configured to count sent and received packets and bytes. Each counted event requires a reading of the counter's current state, modifying the counter's state, and writing the new state back to the counter. In a large networked system transferring data at high rates, there may be millions of counter reads and writes per second.
Some systems require counters with a range sufficient to rarely overflow. Even at 24 Gb/sec rates, a 64 bit counter will not overflow for nearly 200 years. However, reading and writing millions of 64 bit counter values per second uses a significant amount of bandwidth and space in typically expensive high speed memory. Thus, some systems use shorter high rate counters and aggregate the high rate counters to larger low rate counters. These systems typically poll the high rate counters often enough to prevent counter overflows. Because shorter high rate counters overflow sooner than longer high rate counters, system design involves a trade-off between the size of the high rate counter and the poll rate. When the number of counters grows very large, even a low poll rate results in significant bandwidth requirements, thus requiring larger high rate counters.
What is needed is a bandwidth efficient counter management technique and system.